package com.yeren.spring.tarena.controller;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import com.yeren.spring.tarena.dao.EmpDao;
import com.yeren.spring.tarena.entity.Emp;



/**
 * liubiao
 */
@Controller
@RequestMapping("/emp")
public class EmpController {
	@Resource
	private EmpDao empDao;
	@RequestMapping("/findEmp.do")
	public String find(Model model){
		List<Emp> list=empDao.findAll();
		model.addAttribute("emps",list);
		return "emp/emp_list";
	}
	@RequestMapping("/findEmp1.do")
	public String find1(){
		//模拟查询员工数据
		System.out.println("查询员工数据，发送至列表页面。");
		
		//制造一个异常，便于测试异常通知
//		Integer.valueOf("abc");
		
		return "emp/emp_list1.jsp";
	}
	
	@RequestMapping("/addEmps.do")
	public String addBatch(){
		//插入第一个员工
		Emp e1=new Emp();
		e1.setEname("刘备");
		e1.setJob("皇叔");
		e1.setSal(1000.0);
		e1.setEmpno(21);
		empDao.save(e1);
		
		//模拟异常
//		Integer.valueOf("abc");//NumberFormatException
		
		//插入第一个员工
		Emp e2=new Emp();
		e2.setEname("关羽");
		e2.setJob("候");
		e2.setSal(1000.0);
		e2.setEmpno(22);
		empDao.save(e2);
		
		return "redirect:findEmp.do";
		
	}
	
	/**
	 * 打开新增页面
	 */
	@RequestMapping("/toAddEmp.do")
	public String toAdd(){
		return "emp/add_emp";
	}
	
	/**
	 * 新增保存
	 */
	@RequestMapping("/addEmp.do")
	public String add(Emp emp){
		empDao.save(emp);
		return "redirect:findEmp.do";
	}
	/**
	 * 打开修改页面
	 */
	@RequestMapping("/toUpdateEmp.do")
	public String toUpdate(@RequestParam("id") int id,Model model){
		Emp e=empDao.findById(id);
		model.addAttribute("emp", e);
		return "emp/update_emp";
	}
	
	/**
	 * 修改保存
	 */
	@RequestMapping("/updateEmp.do")
	public String update(Emp emp){
		empDao.update(emp);
		return "redirect:findEmp.do";
	}
	
	/**
	 * 删除
	 */
	@RequestMapping("/deleteEmp.do")
	public String delete(@RequestParam("id") int id){
		empDao.delete(id);
		return "redirect:findEmp.do";
	}
	
}
